package com.app.brilliant.game.mapper;
import com.app.brilliant.game.bean.BriUserHourComplete;
import com.app.brilliant.game.response.BriCourseCompleteInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
* @author GF
* @description 针对表【bri_user_hour_complete】的数据库操作Mapper
* @createDate 2025-09-02 17:16:39
* @Entity com.app.brilliant.game.bean.BriUserHourComplete
*/
public interface BriUserHourCompleteMapper extends BaseMapper<BriUserHourComplete> {

    /**
     * 获取用户课时完成记录
     * @param userId 用户ID
     * @param classHourId 课时ID
     * @return 用户课时完成记录
     */
    BriUserHourComplete getUserClassHour(@Param("userId") Integer userId, @Param("classHourId") Integer classHourId);

    /**
     * 查询用户指定课程下的课时完成度信息
     * @param courseId 课程ID
     * @param userId 用户ID
     * @return 课时完成度信息列表
     */
    List<BriCourseCompleteInfo> getCourseCompleteInfo(@Param("courseId") Integer courseId, @Param("userId") Integer userId);

    /**
     * 查询用户某一天的课时完成记录
     * @param userId 用户ID
     * @param date 日期
     * @return 课时完成记录列表
     */
    List<BriUserHourComplete> selectByUserIdAndDate(@Param("userId") Integer userId, @Param("date") LocalDate date);
}
